package top.melody.ecommerce.platform.api.domain.account;

import java.io.Serializable;

import top.melody.ecommerce.common.util.reflect.ReflectUtil;
import top.melody.ecommerce.platform.handler.enums.ActStatus;
import top.melody.ecommerce.platform.handler.enums.ApproveStatus;
import top.melody.ecommerce.platform.handler.enums.ValidStatus;

import java.util.Date;


/**
 * @author: blentle
 * @group: rd
 * @createdate: 2016/11/11 9:55
 * @mail: blentle.huan.ren@gmail.com
 * @description: 商家(生产者资质认证信息实体)
 * @since:1.0
 */
public class AccountEnterpriseAuth implements Serializable {
    /* 自增 */
    private Integer accountAuthId;
    /* 账号ID，关联ACCOUNT表主键 */
    private Integer accountId;
    /* 企业名称 */
    private String enterpriseName;
    /* 注册资金：单位（万元） */
    private Integer registeredCapital;
    /* 省(直辖市)ID，关联SYS_REGIONS表主键 */
    private Integer provinceCode;
    /* 市(区)ID,关联SYS_REGIONS主键 */
    private Integer cityId;
    /* 区(县)ID，关联SYS_REGIONS表主键 */
    private Integer countyId;
    /* 企业简介 */
    private String enterpriseDesc;
    /* 首字母 */
    private String firstLetter;
    /* 注册地址 */
    private String registerAddress;
    /* 联系人姓名 */
    private String contactPerson;
    /* 固定电话 */
    private String landLine;
    /* 联系人手机号 */
    private String contactPhone;
    /* 联系人详细地址 */
    private String contactAddress;
    /* 授权证书 */
    private String authorizedCertificate;
    /* 法人姓名 */
    private String legalPerson;
    /* 法人身份证电子版图片 */
    private String identifyPic;
    /* 营业执照注册号 */
    private String certificateNo;
    /* 营业执照电子版图片 */
    private String certificatePic;
    /* 营业执照有效期 */
    private Date certificateDate;
    /* 经营范围 */
    private String saleCategories;
    /* 业务税务登记证 */
    private String taxRegisterPic;
    /* 业务税务登记证号 */
    private String taxRegisterNo;
    /* 组织机构代码证电子版图片 */
    private String organizationCodePic;
    /* 组织机构代码证有效日期 */
    private Date organizationValidDate;
    /* 纳税人资格证 */
    private String taxPayerPic;
    /* 组织机构代码证有效日期 */
    private String bankLicensePic;
    /* 对公账户名 */
    private String openAccountName;
    /* 对公银行账号 */
    private String openBankNo;
    /* 开户银行 */
    private String openBankName;
    /* 开户银行地址 */
    private String openBankAddress;
    /* 开户银行网点 */
    private String openBankSite;
    /* 审核日期 */
    private Date approveDate;
    /* 审核状态：初始状态：DEF，审核中：APPROVING，审核通过APPROVED,审核失败：REJECTED */
    private ApproveStatus approveStatus;
    /* 审核失败原因 */
    private String approveDesc;
    /* 有效：VALID;无效:INVALID */
    private ValidStatus validStatus;
    /* 已删除：Y;未删除：N */
    private ActStatus removeStatus;
    /* 创建时间 */
    private Date createDate;
    /* 最近更新时间 */
    private Date updateDate;

    public AccountEnterpriseAuth() {

    }

    public AccountEnterpriseAuth(Integer accountAuthId, Integer accountId, String enterpriseName, Integer registeredCapital, Integer provinceCode, Integer cityId, Integer countyId, String enterpriseDesc, String firstLetter, String registerAddress, String contactPerson, String landLine, String contactPhone, String contactAddress, String authorizedCertificate, String legalPerson, String identifyPic, String certificateNo, String certificatePic, Date certificateDate, String saleCategories, String taxRegisterPic, String taxRegisterNo, String organizationCodePic, Date organizationValidDate, String taxPayerPic, String bankLicensePic, String openAccountName, String openBankNo, String openBankName, String openBankAddress, String openBankSite, Date approveDate, ApproveStatus approveStatus, String approveDesc, ValidStatus validStatus, ActStatus removeStatus, Date createDate, Date updateDate) {
        this.accountAuthId = accountAuthId;
        this.accountId = accountId;
        this.enterpriseName = enterpriseName;
        this.registeredCapital = registeredCapital;
        this.provinceCode = provinceCode;
        this.cityId = cityId;
        this.countyId = countyId;
        this.enterpriseDesc = enterpriseDesc;
        this.firstLetter = firstLetter;
        this.registerAddress = registerAddress;
        this.contactPerson = contactPerson;
        this.landLine = landLine;
        this.contactPhone = contactPhone;
        this.contactAddress = contactAddress;
        this.authorizedCertificate = authorizedCertificate;
        this.legalPerson = legalPerson;
        this.identifyPic = identifyPic;
        this.certificateNo = certificateNo;
        this.certificatePic = certificatePic;
        this.certificateDate = certificateDate;
        this.saleCategories = saleCategories;
        this.taxRegisterPic = taxRegisterPic;
        this.taxRegisterNo = taxRegisterNo;
        this.organizationCodePic = organizationCodePic;
        this.organizationValidDate = organizationValidDate;
        this.taxPayerPic = taxPayerPic;
        this.bankLicensePic = bankLicensePic;
        this.openAccountName = openAccountName;
        this.openBankNo = openBankNo;
        this.openBankName = openBankName;
        this.openBankAddress = openBankAddress;
        this.openBankSite = openBankSite;
        this.approveDate = approveDate;
        this.approveStatus = approveStatus;
        this.approveDesc = approveDesc;
        this.validStatus = validStatus;
        this.removeStatus = removeStatus;
        this.createDate = createDate;
        this.updateDate = updateDate;
    }

    public Integer getAccountAuthId() {
        return accountAuthId;
    }

    public void setAccountAuthId(Integer accountAuthId) {
        this.accountAuthId = accountAuthId;
    }

    public Integer getAccountId() {
        return accountId;
    }

    public void setAccountId(Integer accountId) {
        this.accountId = accountId;
    }

    public String getEnterpriseName() {
        return enterpriseName;
    }

    public void setEnterpriseName(String enterpriseName) {
        this.enterpriseName = enterpriseName;
    }

    public Integer getRegisteredCapital() {
        return registeredCapital;
    }

    public void setRegisteredCapital(Integer registeredCapital) {
        this.registeredCapital = registeredCapital;
    }

    public Integer getProvinceCode() {
        return provinceCode;
    }

    public void setProvinceCode(Integer provinceCode) {
        this.provinceCode = provinceCode;
    }

    public Integer getCityId() {
        return cityId;
    }

    public void setCityId(Integer cityId) {
        this.cityId = cityId;
    }

    public Integer getCountyId() {
        return countyId;
    }

    public void setCountyId(Integer countyId) {
        this.countyId = countyId;
    }

    public String getEnterpriseDesc() {
        return enterpriseDesc;
    }

    public void setEnterpriseDesc(String enterpriseDesc) {
        this.enterpriseDesc = enterpriseDesc;
    }

    public String getFirstLetter() {
        return firstLetter;
    }

    public void setFirstLetter(String firstLetter) {
        this.firstLetter = firstLetter;
    }

    public String getRegisterAddress() {
        return registerAddress;
    }

    public void setRegisterAddress(String registerAddress) {
        this.registerAddress = registerAddress;
    }

    public String getContactPerson() {
        return contactPerson;
    }

    public void setContactPerson(String contactPerson) {
        this.contactPerson = contactPerson;
    }

    public String getLandLine() {
        return landLine;
    }

    public void setLandLine(String landLine) {
        this.landLine = landLine;
    }

    public String getContactPhone() {
        return contactPhone;
    }

    public void setContactPhone(String contactPhone) {
        this.contactPhone = contactPhone;
    }

    public String getContactAddress() {
        return contactAddress;
    }

    public void setContactAddress(String contactAddress) {
        this.contactAddress = contactAddress;
    }

    public String getAuthorizedCertificate() {
        return authorizedCertificate;
    }

    public void setAuthorizedCertificate(String authorizedCertificate) {
        this.authorizedCertificate = authorizedCertificate;
    }

    public String getLegalPerson() {
        return legalPerson;
    }

    public void setLegalPerson(String legalPerson) {
        this.legalPerson = legalPerson;
    }

    public String getIdentifyPic() {
        return identifyPic;
    }

    public void setIdentifyPic(String identifyPic) {
        this.identifyPic = identifyPic;
    }

    public String getCertificateNo() {
        return certificateNo;
    }

    public void setCertificateNo(String certificateNo) {
        this.certificateNo = certificateNo;
    }

    public String getCertificatePic() {
        return certificatePic;
    }

    public void setCertificatePic(String certificatePic) {
        this.certificatePic = certificatePic;
    }

    public Date getCertificateDate() {
        return certificateDate;
    }

    public void setCertificateDate(Date certificateDate) {
        this.certificateDate = certificateDate;
    }

    public String getSaleCategories() {
        return saleCategories;
    }

    public void setSaleCategories(String saleCategories) {
        this.saleCategories = saleCategories;
    }

    public String getTaxRegisterPic() {
        return taxRegisterPic;
    }

    public void setTaxRegisterPic(String taxRegisterPic) {
        this.taxRegisterPic = taxRegisterPic;
    }

    public String getTaxRegisterNo() {
        return taxRegisterNo;
    }

    public void setTaxRegisterNo(String taxRegisterNo) {
        this.taxRegisterNo = taxRegisterNo;
    }

    public String getOrganizationCodePic() {
        return organizationCodePic;
    }

    public void setOrganizationCodePic(String organizationCodePic) {
        this.organizationCodePic = organizationCodePic;
    }

    public Date getOrganizationValidDate() {
        return organizationValidDate;
    }

    public void setOrganizationValidDate(Date organizationValidDate) {
        this.organizationValidDate = organizationValidDate;
    }

    public String getTaxPayerPic() {
        return taxPayerPic;
    }

    public void setTaxPayerPic(String taxPayerPic) {
        this.taxPayerPic = taxPayerPic;
    }

    public String getBankLicensePic() {
        return bankLicensePic;
    }

    public void setBankLicensePic(String bankLicensePic) {
        this.bankLicensePic = bankLicensePic;
    }

    public String getOpenAccountName() {
        return openAccountName;
    }

    public void setOpenAccountName(String openAccountName) {
        this.openAccountName = openAccountName;
    }

    public String getOpenBankNo() {
        return openBankNo;
    }

    public void setOpenBankNo(String openBankNo) {
        this.openBankNo = openBankNo;
    }

    public String getOpenBankName() {
        return openBankName;
    }

    public void setOpenBankName(String openBankName) {
        this.openBankName = openBankName;
    }

    public String getOpenBankAddress() {
        return openBankAddress;
    }

    public void setOpenBankAddress(String openBankAddress) {
        this.openBankAddress = openBankAddress;
    }

    public String getOpenBankSite() {
        return openBankSite;
    }

    public void setOpenBankSite(String openBankSite) {
        this.openBankSite = openBankSite;
    }

    public Date getApproveDate() {
        return approveDate;
    }

    public void setApproveDate(Date approveDate) {
        this.approveDate = approveDate;
    }

    public ApproveStatus getApproveStatus() {
        return approveStatus;
    }

    public void setApproveStatus(ApproveStatus approveStatus) {
        this.approveStatus = approveStatus;
    }

    public String getApproveDesc() {
        return approveDesc;
    }

    public void setApproveDesc(String approveDesc) {
        this.approveDesc = approveDesc;
    }

    public ValidStatus getValidStatus() {
        return validStatus;
    }

    public void setValidStatus(ValidStatus validStatus) {
        this.validStatus = validStatus;
    }

    public ActStatus getRemoveStatus() {
        return removeStatus;
    }

    public void setRemoveStatus(ActStatus removeStatus) {
        this.removeStatus = removeStatus;
    }

    public Date getCreateDate() {
        return createDate;
    }

    public void setCreateDate(Date createDate) {
        this.createDate = createDate;
    }

    public Date getUpdateDate() {
        return updateDate;
    }

    public void setUpdateDate(Date updateDate) {
        this.updateDate = updateDate;
    }

    @Override
    public String toString() {
        return ReflectUtil.fieldsToString(this);
    }
}
